/**
 * @Description:楼层商品详情 API
 * @Author: zqy
 * @Date: 2022-12-14 10:35:14
 * @Last Modified by: zqy
 * @Last Modified time: 2024-03-07 10:14:44
 * */

import request from '@/utils/request'
import { json2FormData } from '@/utils'

/**
 * 楼层详情分页查询
 * @param {string} floorConfId 楼层配置ID
 * */
export function getFloorDetailPage(floorConfId) {
  const data = json2FormData({
    sort: 'sort',
    order: 'asc',
    pageFlag: false,
    filtersRaw: JSON.stringify([
      { id: 'floorConfId', property: 'floorConfId', operator: '=', value: floorConfId }
    ])

  })
  return request({
    url: `/api/v1/v2FloorProductDetail/page`,
    method: 'post',
    data
  })
}

/**
 * 保存信息
 * @param {string} floorConfId 楼层配置ID
 * @param {string} id  ID (id存在为编辑，不存在为新增)
 * @param {string} skuCode  产品sku编码
 * @param {string} skuName  产品sku名称
 * @param {string} skuId  产品skuId
 * @param {string} spuId  产品spuId
 * @param {Number} sort 排序
 */
export function saveFloorDetail(data) {
  return request({
    url: `/api/v1/v2FloorProductDetail`,
    method: data.id ? 'put' : 'post',
    data
  })
}
/**
 * 保存信息
 * @param {string} floorConfId 楼层配置ID
 * @param {string} id  ID (id存在为编辑，不存在为新增)
 * @param {string} skuCode  产品sku编码
 * @param {string} skuName  产品sku名称
 * @param {string} skuId  产品skuId
 * @param {string} spuId  产品spuId
 * @param {Number} sort 排序
 */
export function saveBatchFloorDetail(data) {
  return request({
    url: `/api/v1/v2FloorProductDetail/batchCreate`,
    method: 'post',
    data
  })
}

/**
 * 删除
 * @param {string} id
 */
export function delFloorDetail(id) {
  return request({
    url: `/api/v1/v2FloorProductDetail/${id}`,
    method: 'delete'
  })
}

/**
 * 批量删除
 * @param {Array} ids
 */
export function delBatchFloorDetail(ids) {
  return request({
    url: `/api/v1/v2FloorProductDetail/deleteBatch`,
    method: 'delete',
    data: ids
  })
}
/**
 * 更新楼层排序
 * @param {String} id
 * @param {String} type  移动类型(bottom 置底 ，top 置顶 ， moveDown 下移 ，  moveUp 上移)
 */
export function updateSort({ id, type }) {
  return request({
    url: `/api/v1/v2FloorProductDetail/${type}`,
    method: 'get',
    params: { id }
  })
}

/**
 * 查询详情
 * @param {string} id
 */
export function queryDetail(id) {
  return request({
    url: `/api/v1/v2FloorProductDetail/${id}`,
    method: 'get'
  })
}

/**
 * 商品上下架
 * @param {Number} status  1上架，0 下架
 * @param {Array} ids 产品ID
 */
export function updateProductUpDown(status, ids) {
  return request({
    url: `/api/v1/v2FloorProductDetail/${status === 1 ? 'up' : 'down'}`,
    method: 'post',
    data: ids
  })
}

/**
 * 根据楼层商品明细id查询配置
 * @param {string} v2FloorConfId 商品楼层配置ID
 */
export function queryProductAutoStatusConfig(v2FloorConfId) {
  return request({
    url: `/api/v1/v2FloorProductDetailStatusConfig/${v2FloorConfId}`,
    method: 'get'
  })
}

/**
 * 保存楼层商品自动上下架配置
 * @param {String} enableFlag 商品停启用状态（多个逗号分隔）
 * @param {String} productState 在产状态（多个逗号分隔）
 * @param {String} purchaseHandle 采购状态（多个逗号分隔）
 * @param {string} skuCode
 * @param {string} v2FloorConfId 商品楼层配置ID
 * @param {string} showType 楼层的列表显示类型
 */
export function saveProductAutoStatusConfig(data) {
  return request({
    url: `/api/v1/v2FloorProductDetailStatusConfig/save`,
    method: 'post',
    data
  })
}
